package com.ruoyi.material.domain;

import com.ruoyi.common.constant.material.PurchaseConstants;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 原料供应商管理对象 tb_material_supplier
 *
 * @author wng
 * @date 2024-08-04
 */
public class MaterialSupplier extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;
    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    private String name;

    /**
     * 原料供应商类型
     * Manufacturer 从生产企业采购
     * BusinessUnit 从经营单位采购
     * FoodProducer 食用农产品生产者
     * Butcher 屠宰企业
     * SelfEmployed 个体工商户
     */
//    @Excel(name = "原料供应商类型 " +
//            "Manufacturer 从生产企业采购 " +
//            "BusinessUnit 从经营单位采购 " +
//            "FoodProducer 食用农产品生产者 " +
//            "Butcher 屠宰企业 " +
//            "SelfEmployed 个体工商户")
    private PurchaseConstants.TypeEnum type;

    @Excel(name = "原料供应商类型")
    private String typeName;

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    /**
     * 供货商品名
     */
    @Excel(name = "供货商品名")
    private String tradeName;

    /**
     * 单位地址
     */
    @Excel(name = "单位地址")
    private String address;

    /**
     * 联系人
     */
    @Excel(name = "联系人")
    private String contactName;

    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    private String contactPhone;

    /**
     * 供应商食品安全协议文件
     */
    @Excel(name = "供应商食品安全协议文件", cellType = Excel.ColumnType.IMAGE)
    private String contract;

    /**
     * 加盖公章的营业执照图片
     */
    @Excel(name = "加盖公章的营业执照图片", cellType = Excel.ColumnType.IMAGE)
    private String bLicense;

    /**
     * 食品生产许可证复印件图片
     */
    @Excel(name = "食品生产许可证复印件图片", cellType = Excel.ColumnType.IMAGE)
    private String pLicense;

    /**
     * 食品经营许可证复印件图片或备案证明
     */
    @Excel(name = "食品经营许可证复印件图片或备案证明", cellType = Excel.ColumnType.IMAGE)
    private String fBLicense;

    /**
     * 社会信用代码
     */
    @Excel(name = "社会信用代码")
    private String creditCode;

    /**
     * 身份证正反面复印件图片
     */
    @Excel(name = "身份证正反面复印件图片", cellType = Excel.ColumnType.IMAGE)
    private String idCopy;

    /**
     * 0正常 1删除
     */
    private Integer delFlag;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public PurchaseConstants.TypeEnum getType() {
        return type;
    }

    public void setType(PurchaseConstants.TypeEnum type) {
        this.type = type;
    }

    public void setTradeName(String tradeName) {
        this.tradeName = tradeName;
    }

    public String getTradeName() {
        return tradeName;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    public String getContactName() {
        return contactName;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContract(String contract) {
        this.contract = contract;
    }

    public String getContract() {
        return contract;
    }

    public void setbLicense(String bLicense) {
        this.bLicense = bLicense;
    }

    public String getbLicense() {
        return bLicense;
    }

    public void setpLicense(String pLicense) {
        this.pLicense = pLicense;
    }

    public String getpLicense() {
        return pLicense;
    }

    public void setfBLicense(String fBLicense) {
        this.fBLicense = fBLicense;
    }

    public String getfBLicense() {
        return fBLicense;
    }

    public void setCreditCode(String creditCode) {
        this.creditCode = creditCode;
    }

    public String getCreditCode() {
        return creditCode;
    }

    public void setIdCopy(String idCopy) {
        this.idCopy = idCopy;
    }

    public String getIdCopy() {
        return idCopy;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deptId", getDeptId())
                .append("name", getName())
                .append("type", getType())
                .append("tradeName", getTradeName())
                .append("address", getAddress())
                .append("contactName", getContactName())
                .append("contactPhone", getContactPhone())
                .append("contract", getContract())
                .append("bLicense", getbLicense())
                .append("pLicense", getpLicense())
                .append("fBLicense", getfBLicense())
                .append("creditCode", getCreditCode())
                .append("idCopy", getIdCopy())
                .append("delFlag", getDelFlag())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .toString();
    }
}
